#!/user/bin/env python3
# -*- coding: utf-8 -*-
"""
@Date    ：2025/1/10 15:14:08
@Description:
"""
import string

# Base62 字符集
BASE62 = string.digits + string.ascii_letters

# 示例用法
DEFAULT_SALT = 2125  # 定义一个固定的盐值

def base62_encode(num):
    """将整数转换为 Base62 编码"""
    if num == 0:
        return BASE62[0]
    base62 = []
    while num:
        num, rem = divmod(num, 62)
        base62.append(BASE62[rem])
    return ''.join(reversed(base62))

def base62_decode(base62_str):
    """将 Base62 编码转换回整数"""
    num = 0
    for char in base62_str:
        num = num * 62 + BASE62.index(char)
    return num

def encrypt_id(id, salt=DEFAULT_SALT):
    """加密 ID，使用简单的加盐方法"""
    return base62_encode(id + salt)

def decrypt_id(enc_str, salt=DEFAULT_SALT):
    """解密字符串，返回原始 ID"""
    return base62_decode(enc_str) - salt


